Currently, cable systems include implementations of duplicate session managers located at subscriber set-top boxes (STBs) and in servers at the headend to facilitate the implementation of cable system services, such as pay-per-view programming, movies on demand, and the like. Due to the requirement that session managers be duplicated in the system, adding new services to cable systems is typically complicated due to the fact that both the session manager within the server facilitating the implementation of a service and an equivalent STB session manager must be generated for each new service. Therefore, multiple system components must be changed, updated or added to the system each time a new service is added. This process is complicated by the fact that many vendors create servers and STBs having varying specifications. For instance, where a new service wishes to utilize multiple server vendors, each server may be required to be independently adapted to enable the service to utilize the server. Another problem with the provisioning of services in conventional cable systems is that the STB must know where the server providing the content is located. If there are multiple VOD servers in the head-end, the STB must know which one has the desired content (e.g., MPEG movie) residing on it. This information must be provided to the STB from the service.
Additionally, once a service session is set up between a server at the headend and an STB, only one data stream is typically established for one session that is set up by the server facilitating the service. For services such as Movies on Demand (MOD), this is sufficient because only one piece of content (i.e., the MPEG movie) is forwarded to one user over one stream. However, this does not utilize the capabilities of cable system communication specifications, such as DSM-CC, which allow for multiple pieces of content to be transmitted over multiple streams that comprise a single session. An example of one service that requires this type of structure is a multi-view sporting event that allows a subscriber to choose the camera angles he or she wishes to view. For example, every camera at a sporting event could be transmitted over a separate stream, where each of the streams is connected to one session. It is important that they be part of the same session so that the cameras are synchronized in time, which is executed using a common clock reference. Conventional cable systems cannot handle such a newly implemented service without substantial changes to hardware and software at the headend and STB because typical cable systems cannot handle multiple streams making up one session.
It would be advantageous if the new services could be added to a cable system without requiring extensive updates to system hardware, such as servers, which impedes the generation of new service. Additionally, it would be advantageous if services could be generated over multiple data streams corresponding to one service, and if subscriber STBs included a generic session manager for facilitating the implementation of all services regardless of the type of services implemented.